//
// Created by Administrator on 2020/11/5.
//

#ifndef O5G_SRC_O5GRAN_LCORE_MISC_MISC_H_
#define O5G_SRC_O5GRAN_LCORE_MISC_MISC_H_

#include <stdint.h>

#ifdef __cplusplus
extern "C"
{
#endif

#define RAN_INIT_INST_IDX(pInst) \
do {\
    uint32_t macroNbLoop;\
    uint32_t macroCellLoop;\
    uint32_t macroUeLoop;\
    for (macroNbLoop = 0; macroNbLoop < RAN_NODEB_NUM_MAX; macroNbLoop++)\
    {\
        pInst->nbInst[macroNbLoop].nbIdx = macroNbLoop;\
        for (macroCellLoop = 0; macroCellLoop < RAN_CELL_NUM_MAX; macroCellLoop++)\
        {\
            pInst->nbInst[macroNbLoop].cellInst[macroCellLoop].nbIdx = macroNbLoop;\
            pInst->nbInst[macroNbLoop].cellInst[macroCellLoop].cellIdx = macroCellLoop;\
            for (macroUeLoop = 0; macroUeLoop < RAN_UE_NUM_MAX; macroUeLoop++)\
            {\
                pInst->nbInst[macroNbLoop].cellInst[macroCellLoop].ueInst[macroUeLoop].nbIdx = macroNbLoop;\
                pInst->nbInst[macroNbLoop].cellInst[macroCellLoop].ueInst[macroUeLoop].cellIdx = macroCellLoop;\
                pInst->nbInst[macroNbLoop].cellInst[macroCellLoop].ueInst[macroUeLoop].ueIdx = macroUeLoop;\
            }\
        }\
    }\
} while (0)


#ifdef __cplusplus
}
#endif

#endif //O5G_SRC_O5GRAN_LCORE_MISC_MISC_H_
